Display system with imbedded icons in a menu bar

ABSTRACT

A method, system and program for including selections in the menu bar that are icons. The support for menus containing icons includes an algorithm in the memory of a processor that presents a menu bar with imbedded icons. The icons can be selected and directly manipulated to perform operations associated with the particular icon upon another icon or other object on a display.

This is a continuation of application Ser. No. 07/888,221 filed May 26,1992, now abandoned.

FIELD OF THE INVENTION

This invention generally relates to improvements in display systems andmore particularly to menu bar selection processing.

CROSS REFERENCE TO RELATED APPLICATIONS

Subject matter in the present application is related to the invention inU.S. patent application AT9-92-040; Ser. No. 07/888,223 filed Apr. 8,1992 under the title "DISPLAY SYSTEM WITH NESTED OBJECTS".

BACKGROUND OF THE INVENTION

Currently, graphical user interfaces present menu choices to a userusing a combination of a menu bar and pull-down menus. An example ofthis technique is found in U.S. Pat. No. 4,772,882 which discloses menuitem selection in a personal computer system through the use of a mousedevice. The display system has means for allowing a user to invoke aheader block which performs the function of a menu bar, and to erase theheader block from the screen when menu operations are not required.Multiple menu items can be selected during the same menu session byusing a pair of mouse buttons to generate a sequence of selectioncommands.

The menu bar, first popularized by Xerox and Apple in the early 1980s istypically a horizontal row of choices across the top of the displayscreen or across the top of a particular window on the display. Apull-down menu appears below a menu bar choice when a user selects achoice. The menu bar choices are represented by words such as FILE,EDIT, VIEW, OPTIONS, HELP and so forth.

Several of these interfaces represent objects as icons and allow a userto perform actions on a particular object by dragging its associatedicon via a mouse, or by selecting choices from the menu bar andpull-down menus. U.S. Pat. No. 4,899,136 discloses a multiprocessorsystem with a user interface in the form of metaphoric objects, calledicons, with which the user can interact by changing the input focus to adesignated object by visually pointing to it via the input means, whichthereafter permits manipulation of the designated object or interactionwith data input/output relative to the designated object.

However, these interfaces provide little direct correlation betweendragging actions and actions accomplished via the menus. They aretreated as two separate and independent mechanisms. Users can becomeconfused about the relationships of actions performed via the menus andvia the dragging of the icons.

Microsoft has attempted to address some of the user's requirements foruser selection of menu commands by providing a separate line of buttoncommands that are referred to as a toolbar. The toolbar is located underthe menu bar. However, the graphical representations cannot be draggedor otherwise manipulated by a user with the same degree of freedom as anicon. Finally, the button commands cannot be incorporated into the menubar by the user.

The prior art is void of direct correlation between the group of choicesin a pull-down menu and an object. Current menu-bar interface actionswhich affect a particular object are typically spread across multiplepull-down menus, and other actions may apply to two or more objects.Thus, users can become confused concerning which object that may beaffected by a particular choice.

SUMMARY OF THE INVENTION

Accordingly, it is a primary objective of the present invention toinclude selections on the menu bar that are icons.

These and other objectives of the present invention are accomplished bythe operation of an algorithm in the memory of a processor that providesfor presenting a menu bar with imbedded icons. The icons can be selectedand directly manipulated to perform operations associated with theparticular icon upon another icon or other object on a display.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A is a block diagram of a personal computer system in accordancewith the subject invention;

FIG. 1B is a listing of pseudo code that sets forth the logic flow inaccordance with the subject invention;

FIG. 1C is a flow chart that sets forth the logic flow in accordancewith the subject invention;

FIG. 1D is a display showing an initial folder in accordance with thesubject invention;

FIG. 2 is an illustration of a display with a window with the contentsof a folder displayed in accordance with the subject invention;

FIG. 3 is an illustration of a display with a set of selectionsavailable for a particular icon in accordance with the subjectinvention;

FIG. 4 is an illustration of a display with a set of selectionsavailable for a particular icon in a menu bar in accordance with thesubject invention;

FIG. 5 is an illustration of a display with a set of selectionsavailable for a particular icon in accordance with the subjectinvention;

FIG. 6 is an illustration of a display with a particular icon selectedin accordance with the subject invention;

FIG. 7 is an illustration of a display with a particular icon in themenu bar selected and the selection choices for the icon presented inaccordance with the subject invention;

FIG. 8 is an illustration of a display with a particular icon'sassociated document opened in accordance with the subject invention;

FIG. 9 is an illustration of a display with a particular document's popup display invoked by selection from a menu icon in accordance with thesubject invention;

FIG. 10 is an illustration of a display with a particular table selectedin accordance with the subject invention;

FIG. 11 is an illustration of a pop up menu associated with a particulartable in accordance with the subject invention;

FIG. 12 is an illustration of a direct invocation of a table from aparticular selection and menu in accordance with the subject invention;and

FIG. 13 is an illustration of a display with a pop up menu associatedwith a particular icon in a report in accordance with the subjectinvention.

DETAILED DESCRIPTION OF THE INVENTION

The invention is preferably practiced in a representative hardwareenvironment as depicted in FIG. 1, which illustrates a typical hardwareconfiguration of a workstation in accordance with the subject inventionhaving a central processing unit 10, such as a conventionalmicroprocessor, and a number of other units interconnected via a systembus 12. The workstation shown in FIG. 1 includes a Random Access Memory(RAM) 14, Read only Memory (ROM) 16, an I/O adapter 18 for connectingperipheral devices such as disk units 20 and tape drives 40 to the bus,a user interface adapter 22 for connecting a keyboard 24, a mouse 25, aspeaker 28, a microphone 32, and/or other user interface devices such asa touch screen device (not shown) to the bus, a communication adapter 23for connecting the workstation to a data processing network and adisplay adapter 29 for connecting the bus to a display device 27.

The invention is a method and system for displaying a menu bar withimbedded icons on the menu bar on a display device 27. The use of iconsas part of the menu bar choices clearly identifies the object upon whichactions are to be performed.

Icons can be dragged to accomplish actions in exactly the same manner asicons are used in other areas of the desktop motif. For example,dragging the icon of a document to a printer icon results in a printoperation generating a paper version of the document. The inventionallows users to drag icons from the menu bar to a printer icon with thesame effect.

The invention provides a direct correlation between the dragging actionand menu bar actions. Dragging actions on a particular icon performactions that are listed as choices in an icon's associated pull-downmenu. Thus, the dragging actions can then be thought of as simpleshort-cuts for corresponding menu choices.

The invention allows an icon to serve as a convenient handle for anobject or group of objects that would otherwise be more difficult tomanipulate. For example, when users select several objects in a windowat the same time it is non-intuitive and confusing when the group ofobjects are dragged by one of the members of the group. Furthermore, thewindow may have been scrolled so that none of the selected objects arevisible.

An icon in a menu represents a selected group regardless of how manyselections are associated with the icon. Direct manipulation of thegroup is performed conveniently by simply dragging the menu bar iconthat represents the selection group. Similarly, an icon from which awindow is first opened is often covered by the window. The menu bar iconthat represents the object is equivalent to the icon from which thewindow was opened, and the icon provides a convenient way to performdirect manipulation on the object displayed in the window. Thus, the useof icons as menu bar selections simplifies and enhances the interface ofa user to a display system.

DETAILED LOGIC

FIG. 1B is a listing of pseudo-program logic in accordance with thesubject invention. As user input events occur, the events are trapped ina while loop at 30, and mouse events are analyzed at 31. Mouse events onthe menu bar involving icons 32 are routed to the appropriate object 33,35, 37 and 40 depending on the position of the mouse pointer on thedisplay. Each object handles the mouse event by displaying the pop upmenu associated with the object as shown at 34, 36, 38 and 42.

Mouse events associated with a pointer on the current selected object ina window 44 are routed to that object for display of the associated popup menu 50. This logic is performed recursively for each set of objectsand at each level of a nested object hierarchy. Thus, a call to aparticular routine may result in another call to the same routine tocomplete the processing.

FIG. 1C is a flow chart that sets forth the logic flow in accordancewith the subject invention. Processing commences at decision block 52when a program detects a selection. At decision block 52, a test isperformed to determine if a user has requested program termination. Ifthe user has asked to terminate the program, then processing isfinished. If not, then further testing is performed at decision block 53to determine if a mouse click event has been detected. If the event isnot a mouse click, then other processing irrelevant to the subjectinvention is performed.

If the event is a mouse event, then a test is performed at decisionblock 54 to determine if the mouse was clicked on the menu bar. If themouse click is not made on the menu bar, then another test is performedat decision block 55 to determine if the selection is on a currentselection. If the click was detected on a non-current selection, thenprocessing is passed to other logic irrelevant to the subject invention.However, if the click was in a current selection, then a pop up menuassociated with the current selection is displayed as shown in functionblock 56 and control is passed to label 76 to continue other processing.

If the mouse was clicked on the menu bar, then control is passed todecision block 58 to determine if the icon is the icon that was openedto display the window. If so, then a pop up menu associated with theobject icon is displayed as shown in function block 59 and control ispassed to label 76 to continue processing.

If the icon was not the object icon, then another test is performed atdecision block 60 to determine if the one icon represents the group ofselected objects in this window. If so, then a pop up menu associatedwith the selected object is displayed at function block 62 and controlis passed to label 76 to continue processing.

If the icon was not the selected object icon, then a further test isperformed at decision block 64 to detect if the window icon has beenclicked on. If so, then a pop up menu associated with the window icon ispresented to the user as shown at function block 70 and control ispassed to label 76 to continue processing.

If the icon was not the window icon, then a final test is performed atdecision block 72 to determine if a help icon has been clicked upon. Ifso, then an associated pop up menu is presented at function block 74 andcontrol is passed to label 76 to continue processing. If not a helpicon, then processing is continued at label 76.

FIG. 1D is a display showing an initial folder 99 in accordance with thesubject invention. The folder's contents are subsequently opened in FIG.2 by a user desiring access to the contents. The menu bar 210 and titlebar for the window 220 are combined in this example. One of ordinaryskill in the art will realize that they could be separate lines of awindow. The content of the menu bar 210 is: a folder icon representingthe March Reports Folder 222; a title of the folder and type of view(March Reports--Icons) 223; an icon representing an object selected inthe window 224 (none selected in this example); an icon representativeof the window 226; and an icon representing a Help object (information(i)) 230. The two remaining symbols on the menu bar are buttons forsizing the window and are ancillary to the subject invention. Thestripes behind the March Reports icon 250 on the desktop displayindicate that a window is currently open on this object.

FIG. 3 is an illustration of a display with a set of selectionsavailable for a particular icon in accordance with the subjectinvention. When a user clicks a mouse button on the mouse with thecursor pointer 300 located over the folder icon on the desktop, a pop upmenu 310 for the folder is displayed overlaying the desktop information320. This menu is typically unique to the object it is associated with.

FIG. 4 is an illustration of a display with a set of selectionsavailable for a particular icon in a menu bar in accordance with thesubject invention. If a user clicks a menu button on the mouse while thecursor pointer 400 is over a folder icon in the menu bar 420 of thedisplay 430, an associated pop up menu is displayed as shown at 410.

FIG. 5 is an illustration of a display with a set of selectionsavailable for a particular icon in accordance with the subjectinvention. If a user clicks the menu button on the mouse when the cursorpointer 500 is over a report document icon 510, an associated pop upmenu is displayed as shown at 520.

FIG. 6 is an illustration of a display with a particular icon selectedin accordance with the subject invention. The report icon 600 isselected by positioning the cursor pointer 610 over the report icon andclicking the mouse button. This selection process associated theselected icon object 630 in the menu bar with the report that wasselected.

FIG. 7 is an illustration of a display with a particular icon in themenu bar selected and the selection choices for the icon presented inaccordance with the subject invention. Since the selected icon 700 inthe menu bar is associated with the report icon 720, when a user clicksthe menu button of the mouse while the cursor arrow 710 is positionedover the selected object icon, the same pop up menu 730 is displayed asin FIG. 5.

FIG. 8 is an illustration of a display with a particular icon'sassociated document opened in accordance with the subject invention. Ifa user opens a window by positioning the cursor arrow 810 over thereport icon 800 and pressing the mouse button, a window 820 containingthe report is presented to the user. Note that the new window 820 has amenu bar 830 with information associated with the report icon. Thecontent of the new menu bar 830 is: a document icon 832 associated withthe report icon 800; the title information 833; an icon representing aselected object 834 (none currently selected); an icon representing thenew window 836; and an icon representative of a help function 838.

FIG. 9 is an illustration of a display with a particular document's popup display invoked by selection from a menu icon in accordance with thesubject invention. If a user presses the menu button while the arrowcursor 900 is positioned over the report icon in the title bar 910, apop up menu 920 associated with the report is displayed.

FIG. 10 is an illustration of a display with a particular table selectedin accordance with the subject invention. If a user clicks the selectbutton on the mouse when the arrow cursor 1010 is over a table 1000, thetable is selected.

FIG. 11 is an illustration of a pop up menu associated with a particulartable in accordance with the subject invention. If a user clicks themenu button while the cursor arrow 1100 is over the table 1110, a pop upmenu 1120 is displayed.

FIG. 12 is an illustration of a direct invocation of a table from aparticular menu icon in accordance with the subject invention. A useropens a window 1200 by positioning the arrow cursor 1210 over the iconrepresenting the selected table object 1220 of the menu bar 1222 andpressing the menu button. Another menu bar 1230 is created and displayedin the window 1200. The new menu bar 1230 has contents associated withthe table, comprising: a table icon representing the table 1231, a title(March--Table) 1232, an icon representing an object or objects selectedin the window (none are currently selected) 1234, an icon representingthe window 1236, and an icon representing the help object 1238.

FIG. 13 is an illustration of a display with a pop up menu associatedwith a menu icon in a report in accordance with the subject invention.If a user presses the mouse button while the arrow cursor 1300 ispositioned over the report icon 1310, then a pop up window 1320 appearson the display.

It should be clear to one of ordinary skill in the art that such nestingof windows could continue indefinitely to the cells and headings of thetable, and the contents of each cell depending on the composition of theobjects involved.

While the invention has been described in terms of a preferredembodiment in a specific system environment, those skilled in the artrecognize that the invention can be practiced, with modification, inother and different hardware and software environments within the spiritand scope of the appended claims.

Having thus described our invention, what we claim as new, and desire tosecure by Letters Patent is:
 1. An apparatus for operating a userinterface having one or more icons in a menu bar of a window on adisplay, comprising:(a) means for producing a menu bar in a window onthe display; (b) means for placing a plurality of menu bar icons in themenu bar; (c) means for associating at least one actionable object insaid window with each of said plurality of menu bar icons, each of saidactionable objects displayed within said window and represented by adifferent menu bar icon within said menu bar, said actionable objectshaving data and procedural information and being operable independent ofsaid associated menu bar icon; and (d) means for sending a selectionmessage to said at least one associated actionable object in response tooperator selection of one of said plurality of menu bar icons whichrequests presentation of an object associated pop-up menu on the displaysuch that multiple diverse sets of object associated pop-up menus may beefficiently invoked.
 2. An apparatus as recited in claim 1, includingmeans for dragging one of the plurality of menu bar icons to accomplishspecific actions associated with the associated actionable objects. 3.An apparatus as recited in claim 2, including means for dropping one ofthe plurality of menu bar icons onto another object on the display toinvoke a specific action on the other object.
 4. A method for operatinga user interface having one or more icons in a menu bar of a window on adisplay, comprising the steps of:(a) producing a menu bar in a window onthe display; (b) placing a plurality of menu bar icons in the menu barof the display; (c) associating at least one actionable object in saidwindow with each of said plurality of menu bar icons each of saidactionable objects displayed within said window and represented by adifferent menu bar icon within said menu bar, each of said actionableobjects having data and procedural information and being operableindependent of said associated menu bar icon; and (d) sending aselection message to said at least one associated actionable object inresponse to operator selection of one of said plurality of menu baricons which requests presentation of an object associated pop-up menu onthe display such that multiple diverse sets of objects associated pop-upmenus may be efficiently invoked.
 5. A method as recited in claim 4,including the step of dragging one of the plurality of menu bar icons inthe menu bar to accomplish specific actions associated with the one ormore associated actionable objects.
 6. A method as recited in claim 5,including the step of dropping one of the plurality of menu bar iconsonto another object on the display to invoke a specific action on theother object.
 7. A computer program for execution with a computer systemhaving a central processing unit and display adapter for operating oninformation including one or more icons in a menu bar of a window on adisplay, comprising:(a) means for producing a menu bar in a window onthe display; (b) means for placing a plurality of menu bar icons in themenu bar; (c) means for associating at least one actionable object insaid window with each of said plurality of menu bar icons each of saidactionable objects displayed within said window and represented by adifferent menu bar icon within said menu bar, each of said actionableobjects having data and procedural information and being operableindependent of said associated icon in said menu bar; and (d) means forsending a selection message to said at least one associated actionableobject in response to operator selection of one of said plurality ofmenu bar icons which requests presentation of an object associatedpop-up menu on the display such that multiple diverse sets of objectassociated pop-up menus may be efficiently invoked.
 8. A computerprogram as recited in claim 7, including means for dragging one of theplurality of menu bar icons to accomplish specific actions associatedwith the one or more associated actionable objects.
 9. A computerprogram as recited in claim 7, including means for dropping one of theplurality of menu bar icons onto another object on the display to invokea specific action on the other object.